﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QldtSdh.BLL;
using QldtSdh.DAL.Models;
using QldtSdh.GUI.Common;
using QldtSdh.GUI.Utils;

namespace QldtSdh.GUI.KhaoThi
{
    public partial class FormDanhSachHocVien_LopHocPhan_BoSung : BaseDialog
    {
        string maLopHocPhan, maDotThi;
        public event Common.TListChangedEventHandler OnChanged;
        public FormDanhSachHocVien_LopHocPhan_BoSung(string maLopHocPhan, string maDotThi)
        {
            InitializeComponent();
            this.maLopHocPhan = maLopHocPhan;
            this.maDotThi = maDotThi;
            var lhp = BizLopHocPhan.GetByID(maLopHocPhan);
            if (lhp != null)
                lbTieuDe.Text = string.Format(lbTieuDe.Text, lhp.TenLopHocPhanFull);
            else
                lbTieuDe.Text = "Không tìm thấy lớp học phần tương ứng";
            LoadDSHV();
        }
        void LoadDSHV()
        {
            gridData.AutoGenerateColumns = false;
            var ls = BizLopHocPhan_BangDiem_HocVien.GetListConLai(maLopHocPhan, maDotThi);
            bdData.DataSource = ls;
            gridData.DataSource = bdData;
            if (ls != null && ls.Count > 0)
                btnDongY.Enabled = true;
            else
                btnDongY.Enabled = false;
        }

        private void btnDongY_Click(object sender, EventArgs e)
        {
            var dsHV = bdData.DataSource as List<HocVien>;
            if (dsHV != null && dsHV.Count > 0)
            {
                int count = 0;
                foreach (var item in dsHV)
                {
                    if (item._IsSelected)
                    {
                        var rs = BizLopHocPhan_BangDiem_HocVien.Add(item.MaHocVien, maLopHocPhan, maDotThi);
                        if (rs == CODE_RESULT_RETURN.ThanhCong)
                        {
                            count++;
                            item._TinhTrang = "Thêm vào danh sách thi thành công";
                        }
                        else
                            item._TinhTrang = "Không thể thêm vào danh sách lúc này";
                    }
                }
                if (count > 0)
                {
                    gridData.Refresh();
                    OnChanged(this, null);
                }
                DialogUtils.ShowMessage(string.Format("Đã thêm {0} học viên vào danh sách thi", count));
            }
        }
    }
}
